ac69dba4f7a390581574355b6971f33795e058f9,markdown/src/main/java/com/zzhoujay/markdown/parser/MarkDownParser.java,MarkDownParser,findItalic,#SpannableStringBuilder#,229

Before Change


    private SpannableStringBuilder findItalic(SpannableStringBuilder builder) {
        Matcher matcher = patternItalic.matcher(builder);
        while (matcher.find()) {
            String content = matcher.group(3);
            builder.delete(matcher.start(1), matcher.end(1));
            builder.insert(matcher.start(1), styleBuilder.italic(content));
        }
        return builder;
    }

After Change


    private SpannableStringBuilder findItalic(SpannableStringBuilder builder) {
        Matcher matcher = patternItalic.matcher(builder);
        while (matcher.find()) {
            int start = matcher.start(1);
            int end = matcher.end(1);
            if (checkInCode(builder, start, end)) {
                continue;
            }
            SpannableStringBuilder sb = (SpannableStringBuilder) builder.subSequence(matcher.start(3), matcher.end(3));
            builder.delete(matcher.start(1), matcher.end(1));
            builder.insert(matcher.start(1), styleBuilder.italic(sb));
            return findItalic(builder);
        }
        return builder;
    }